﻿using Ids4.Api.Models.Dtos.Client;
using Ids4.Api.Models.Vos.Client;

namespace Ids4.Api.Services
{
    public interface IClientService
    {
        Pagelist<ClientListVo> GetClients(PageInput pageInput);
        Task<ClientVo> GetClient(int Id);

        Task<bool> AddClient(CreateClientDto client);

        Task<bool> UpdateClient(UpdateClientDto client);
        Task<bool> RemoveClient(int Id);

        Task<bool> AddClientSecretAsync(CreateClientSecretDto clientSecret);
        Task<bool> DeleteClientSecretAsync(int secretId);

        Pagelist<ClientSecretVo> GetClientSecrets(PageInput pageInput, int clientId);
        Task<bool> AddClientPropertyAsync(CreateClientPropertyDto clientSecret);
        Task<bool> DeleteClientPropertyAsync(int propertyId);
        Pagelist<ClientPropertyVo> GetClientProperties(PageInput pageInput, int clientId);
    }
}
